package com.d3works.apps.account.service.analytic;

import com.d3works.apps.account.db.AnalyticDistributionTemplate;
import com.d3works.apps.base.db.Company;
import com.d3works.exception.D3worksException;

public interface AnalyticDistributionTemplateService {

  void validateTemplatePercentages(AnalyticDistributionTemplate analyticDistributionTemplate)
      throws D3worksException;

  public AnalyticDistributionTemplate personalizeAnalyticDistributionTemplate(
      AnalyticDistributionTemplate analyticDistributionTemplate, Company company)
      throws D3worksException;

  public void checkAnalyticDistributionTemplateCompany(
      AnalyticDistributionTemplate analyticDistributionTemplate) throws D3worksException;

  AnalyticDistributionTemplate createSpecificDistributionTemplate(Company company, String name)
      throws D3worksException;

  void checkAnalyticAccounts(AnalyticDistributionTemplate analyticDistributionTemplate)
      throws D3worksException;

  void verifyTemplateValues(AnalyticDistributionTemplate analyticDistributionTemplate)
      throws D3worksException;
}
